#

| Chapter 2 Simple Editing |

## 2.6 Review of Basic vi Commands

Table 2.1 presents a few of the commands you can perform by combining the commands `c`, `d`, and `y` with various text objects. The last two rows show additional commands for editing. Table 2.2 and Table 2.3 lists some other basic commands.

Table 2.1: Edit Commands
Text Object | Change | Delete | Copy
--- | --- | --- | ---
1 word | `cw` | `dw` | `yw`
2 words, not counting punctuation | `2cW` or `c2W` | `2dW` or `d2W` | `2yW` or `y2W`
3 words back | `3cb` or `c3b` | `3db` or `d3b` | `3yb` or `y3b`
1 line | `cc` | `dd` | `yy` or `Y`
to end of line | `c$` or `C` | `d$` or `D` | `y$`
to beginning of line | `c0` | `d0` | `y0`
single character | `r` | `x` or `X` | `yl` or `yh`
five characters | `5s` | `5x` | `5yl`

Table 2.2: Movement
Movement | Commands
--- | ---
,,, | `h`, `j`, `k`, `l`
forward by word | `w` or `W`
backward by word | `b` or `B`
to end of line | `$`
to beginning of line | `0`

Table 2.3: Other Operations
Operations | Commands
--- | ---
place text from buffer | `P` or `p`
start `vi`, open file if specified | `vi` `file`
save edits, quit file | `ZZ`
no saving of edits, quit file | `:q!`

You can get by in `vi` using only the commands listed in Table 2.1, Table 2.2, and Table 2.3. However, in order to harness the real power of `vi` (and increase your own productivity), you will need more tools. The following chapters describe those tools.

2.5 Joining Two Lines with J |  | 3. Moving Around in a Hurry